$(function () {
    var currentPage=1;       //当前页
    var totalPage = Math.ceil(departmentsArr.length/5);          //总页数
    var pageSize = 5;          //一页显示的行数
    var isCheckAll = false;     //是否全选
    var isEnterTrue = true;      //用户是否输入正确
    var editNo = 1;        //编辑编号，1=添加，2=修改
    var arr= [];
    var confirmNo = 1;
    var idDel;
    var isChaKan = false;

    startLoad();

    //开始需要加载的函数
    function startLoad(){
        getTable();
        pageBtClick();
        checkAll();
        childCheck();
        deDelEvent();
        deAddEvent();
        deCancelEvent();
        inputIdBlur();
        inputInputFous();
        inputIdFous();
        deModifyEvent();
        dePLDel();
        getDepPerson();
    }

    //日历
    !function(){

        laydate.skin('danlan');//切换皮肤，请查看skins下面皮肤库

        laydate({elem: '#demo'});//绑定元素

    }();

    //加载table
    function getTable() {
        getPageBt();
        if(currentPage > totalPage){
            currentPage = totalPage;
        }
        var start = (currentPage-1)*pageSize;
        var end = start + 5;    //结束页，不包括5;
        $(".loadInfo tbody").html("");
        var obj = getSessionData("departmentsArr");
        var str="";
        for(var i=start;i<end && i<obj.length;i++){
           str +=`<tr>
                    <td><input type="checkbox" class="de_childCheck"></td>
                    <td>${obj[i].id}</td>
                    <td>${obj[i].name}</td>
                    <td>${obj[i].startTime}</td>
                    <td title="${obj[i].intro}">${obj[i].intro}</td>
                    <td><span class="de_checkMembers">查看成员</span></td>
                    <td><span class="iconfont icon-bianji de_edit
"></span><span class="iconfont icon-shanchu de_del"></span></td>
                </tr>`;
        }
        $(".loadInfo tbody").html(str);
        getTotalData();

    }

    //查看成员
    function getDepPerson() {
        $(".loadInfo tbody").on("click",".de_checkMembers",function () {
            isChaKan = true;
            var num = 0;
            var id = $(this).parent().parent().children().eq(1).text();
            var str = "";
            var obj = getSessionData("employeesArr");
            for(var i=0;i<obj.length;i++){
                if(obj[i].bmNo == id){
                    num++;
                    str += `<tr>
                        <td>${obj[i].id}</td>
                        <td>${obj[i].name}</td>
                        <td>${obj[i].sex}</td>
                        <td>${obj[i].position}</td>
                        <td>${obj[i].tel}</td>
                        <td>${obj[i].level}</td>
                    </tr>`
                }
            }
            if(num > 0){
                $(".mask").css("display","block");
                $(".de_showPerson").css("display","block");
                $(".de_showPerson tbody").html(str);
            }else {
                confirmNo = 1;
                getConfirm();
            }
        });
    }

    $(".mask").click(function () {
         if(isChaKan){
             $(".mask").css("display","none");
             $(".de_showPerson").css("display","none");
             isChaKan = false;
         }
    });

    //显示提示框
    function getConfirm() {
        if(confirmNo ==1){
            $(".confirm .content").text("该部门暂无人");
        }else if(confirmNo ==2){
            $(".confirm .content").text("请选择要删除的项");
        }else if(confirmNo == 3 || confirmNo == 4){
            $(".confirm .content").text("是否确认删除");
        }
        $(".mask").css("display","block");
        $(".confirm").css("display","block");
    }

    $(".confirm_enter").click(function () {
        $(".mask").css("display","none");
        $(".confirm").css("display","none");
        if(confirmNo == 3){
            deDel();
        }
        if(confirmNo == 4){
            deDanDel();
        }
    });
    $(".confirm_cancel").click(function () {
        $(".mask").css("display","none");
        $(".confirm").css("display","none");
    });

    //加载数据条数
    function getTotalData() {
        var obj = getSessionData("departmentsArr");
        $(".de_totalData").text((obj.length).toString());
    }

    //加载分页按钮
    function getPageBt() {
        var obj = getSessionData("departmentsArr");
        totalPage = Math.ceil(obj.length/5);
        var str="";
        for(var i=1;i<=totalPage;i++) {
            if(i==currentPage){
                str += `<button type="button" class="de_pageBtActive">${i}</button>`;
            }else {
                str += `<button type="button">${i}</button>`;
            }
        }
        $(".de_pageBt").html(str);
    }

    //分页按钮点击功能实现函数
    function pageBtClick() {
        $(".de_pageBt").on("click","button",function () {
            // console.log($(this).text());
            $(".de_pageBt button").each(function () {
                $(this).attr("class","");        //清空所有按钮的点击class属性
            });
            $(this).addClass("de_pageBtActive");
            currentPage = parseInt($(this).text());
            getTable();
        });
    }


        // //默认触发第一个分页按钮
        //   $(".de_pageBt button:first").click();



    //全选按钮
    function checkAll() {
        $(".de_checkAll").click(function () {
            isCheckAll = !isCheckAll;
            if(isCheckAll){
                $(".de_childCheck").each(function () {
                    $(".de_childCheck").prop("checked","checked");
                })
            }else {
                $(".de_childCheck").each(function () {
                    $(this).prop("checked",false);
                })
            }
        });
    }

    //单个按钮点击事件
    function childCheck() {
        $(".loadInfo tbody").on("change",".de_childCheck",function () {
            if($(this).prop("checked") == false) {
                if(isCheckAll){
                    isCheckAll = false;
                    $(".de_checkAll").prop("checked",false);
                }
            }
        });
    }

    //单个行删除事件
    function deDelEvent() {
        $(".loadInfo tbody").on("click",".de_del",function () {
            confirmNo = 4;
            getConfirm();
            idDel = $(this).parent().parent().children().eq(1).text();
        });
    }

    function deDanDel() {
        var objDe = getSessionData("departmentsArr");
        var objEmp = getSessionData("employeesArr");
        for(var i=0;i<objDe.length;i++){
            if(objDe[i].id == idDel){
                for(var j=0;j<objEmp.length;j++){
                    //找到该部门的员工
                    if(objDe[i].id == objEmp[j].bmNo){
                        //将该部门员工的部门编号变成d000,即为待定
                        objEmp[j].bmNo = "d000";
                         setSessionData("employeesArr",objEmp);       //重新存储员工数据
                    }
                }
                 setEditInfo(`删除了${objDe[i].name}`);
                  objDe.splice(i,1);  //删除部门数组中对应的部门
                  setSessionData("departmentsArr",objDe);      //重新存储部门数据
                 getTable();
            }
        }
    }

    //批量删除事件
    function dePLDel() {
        $(".dep_blDel").click(function () {
            //将勾选了的id放入数组
            $(".de_childCheck").each(function () {
                if($(this).prop("checked")){     //勾选
                    var id = $(this).parent().next().text();
                    arr.push(id);
                }
            });
            if(arr.length!=0){       //有勾选
                confirmNo = 3;
                getConfirm();
            }else {         //没有勾选
                confirmNo = 2;
                getConfirm();
            }

        });
    }

    function deDel() {
        var objDep = getSessionData("departmentsArr");
        var objEmp = getSessionData("employeesArr");
        for(var x=0;x<arr.length;x++){
            for(var i=0;i<objDep.length;i++){
                if(objDep[i].id == arr[x]){
                    setEditInfo(`删除了${objDep[i].name}的信息`);
                    for(var j=0;j<objEmp.length;j++){
                        //找到该部门的员工
                        if(objDep[i].id == objEmp[j].bmNo){
                            //将该部门员工的部门编号变成d000,即为待定
                            objEmp[j].bmNo = "d000";
                            setSessionData("employeesArr",objEmp);
                        }
                    }
                    objDep.splice(i,1);  //删除部门数组中对应的部门
                    setSessionData("departmentsArr",objDep);
                    getTable();
                }
            }
        }
    }
    
    //添加部门事件
    function deAddEvent() {
        $(".dep_btAdd").click(function () {
            editNo = 1;        //表示为添加状态;
            $(".de_editDiv input:first").attr("disabled",false);
            $(".de_editDiv input").each(function () {
                $(this).val("");
            });
            $(".de_editDiv textarea").val("");
            $(".de_editDiv span").text("");
            $(".de_editDiv h2").text("添加信息");
            $(".depBox .mask").css("display","block");
            $(".depBox .de_editDiv").css("display","block");
        });
        deEnterEvent();
    }

    //修改部门事件
    function deModifyEvent() {
        $(".loadInfo tbody").on("click",".de_edit",function () {
            editNo = 2;        //表示为修改状态;
            $(".de_editDiv h2").text("修改信息");
            $(".de_editDiv span").text("");
            $(".depBox .mask").css("display","block");
            $(".depBox .de_editDiv").css("display","block");
            var id = $(this).parent().parent().children().eq(1).text();
            var name = $(this).parent().parent().children().eq(2).text();
            var startTime = $(this).parent().parent().children().eq(3).text();
            var intro = $(this).parent().parent().children().eq(4).text();
            $(".de_editDiv input").eq(0).val(id);
            $(".de_editDiv input").eq(1).val(name);
            $(".de_editDiv input").eq(2).val(startTime);
            $(".de_editDiv textarea").val(intro);
            $(".de_editDiv input").eq(0).attr("disabled",true);
            deEnterEvent();
        });
    }

    //输入id失去焦点时
    function inputIdBlur(){
        var obj = getSessionData("departmentsArr");
        $(".de_editDiv input").eq(0).blur(function () {
            var id = $(".de_editDiv input").eq(0).val();
            for(var i=0;i<obj.length;i++){
                if(obj[i].id == id){
                    $(".de_editDiv input").eq(0).next().next().text("该编号已存在");
                    isEnterTrue = false;
                }
            }
        });
    }

    //输入id获得焦点时,清除提示
    function inputIdFous(){
        $(".de_editDiv input").eq(0).focus(function () {
            isEnterTrue = true;
            $(".de_editDiv input").eq(0).next().next().text("");
        });
    }

    //input获得焦点时清空选中文本
    function inputInputFous() {
        $(".de_editDiv input").focus(function () {
            $(this).select();
        });
        $(".de_editDiv textarea").focus(function () {
            $(this).select();
        });
    }

    //确认事件
    function deEnterEvent() {
        $(".de_btEnter").click(function () {
            var obj = getSessionData("departmentsArr");
            if(editNo == 1){     //为添加时
                console.log("tj");
                var id = $(".de_editDiv input").eq(0).val();
                var name = $(".de_editDiv input").eq(1).val();
                var startTime = $(".de_editDiv input").eq(2).val();
                var intro = $(".de_editDiv textarea").val();
                if(isEnterTrue && id!=""&& name!=""&& startTime!=""&& intro!=""){
                    var newObj = {"id":id,"name":name,"startTime":startTime,"intro":intro};
                    obj.push(newObj);
                    setSessionData("departmentsArr",obj);
                    setEditInfo(`添加了${$(".de_editDiv input").eq(1).val()}`);
                    getTable();
                    $(".de_btCancel").click();
                }
            }else {
                var id = $(".de_editDiv input").eq(0).val();
                var name = $(".de_editDiv input").eq(1).val();
                var startTime = $(".de_editDiv input").eq(2).val();
                var intro = $(".de_editDiv textarea").val();
                for(var i=0;i<obj.length;i++){
                    if(obj[i].id == id){
                        obj[i].name = name;
                        obj[i].startTime = startTime;
                        obj[i].intro = intro;
                        setSessionData("departmentsArr",obj);
                        setEditInfo(`修改了${name}的信息`);
                        getTable();
                        $(".de_btCancel").click();
                    }
                }
            }
        });
    }

    //取消事件
    function deCancelEvent() {
        $(".de_btCancel").click(function () {
            $(".depBox .mask").css("display","none");
            $(".depBox .de_editDiv").css("display","none");
        });
    }

    //得到浏览器中的数据     str:数组名
    function getSessionData(str) {
        if(sessionStorage.getItem(str)) {         //浏览器中存在该数组

        }else {          //不存在，初识化
            if(str == "departmentsArr"){
                sessionStorage.setItem(str,JSON.stringify(departmentsArr));
            }else if(str == "newNotice") {
                sessionStorage.setItem(str,JSON.stringify(newNotice));
            }else {
                sessionStorage.setItem(str,JSON.stringify(employeesArr));
            }
        }
        var obj = JSON.parse(sessionStorage.getItem(str));
        return obj;
    }

    //将数据存储到浏览器      str:数组名  data:数组
    function setSessionData(str,data) {
        var newStr = JSON.stringify(data);
        sessionStorage.setItem(str,newStr);
    }


//记录编辑信息方法
// content:编辑内容  例如：content=`修改了${数组名.name}`的信息;
    function setEditInfo(content) {
        var obj = getSessionData("newNotice");
        var newObj = new Object();
        newObj.editUser = $(".hz_who").text();         //获取用户的账号
        newObj.editContent = content;
        var lt = new Date().toLocaleDateString();
        var newT = lt.split("/");
        var newStr = "";
        for(var i=0;i<newT.length;i++){
            newStr += newT[i]+"-";
        }
        //设置编辑时间
        newObj.editTime =newStr.substr(0,newStr.length-1);
        obj.push(newObj);
        setSessionData("newNotice",obj);
    }

});